package com.hq.zb.service;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.hq.zb.dto.DeptDto;
import com.hq.zb.entity.CurrentUser;
import com.hq.zb.model.Dept;
import com.hq.zb.vo.DeptVo;
import com.hq.zb.vo.SelectCommVo;

import java.util.List;

/**
 * <p>
 * 部门表 服务类
 * </p>
 *
 * @author huanghanrui
 * @since 2022-03-07
 */
public interface IDeptService extends IService<Dept> {

    /**
     * 保存部门信息
     * @param deptDto
     */
    void saveDept(DeptDto deptDto);

    /**
     * 分页查询部门
     * @param page
     * @param wrapper
     * @return
     */
    Page<DeptVo> listByPage(Page<DeptVo> page, Wrapper<DeptVo> wrapper);

    /**
     * 查询部门层级
     * @param deptDto
     * @return
     */
    List<SelectCommVo> queryList(DeptDto deptDto, CurrentUser currentUser);

    /**
     * 删部门
     * @param Depts
     */
    void deleteDept(List<Dept> Depts);
}
